/**
 * 
 */
package dms.repository;

import java.util.Date;
import java.util.List;

import dms.model.Building;
import dms.model.Dormitory;
import dms.model.form.PurchaseItem;
import dms.model.util.PageIterator;

/**
 * @author 李健
 *
 */
public interface PurchaseItemRepository {

	PageIterator<PurchaseItem> findByBuilding(int start, int count, Building building, Date fromDate, Date toDate, Boolean processed, Boolean applied);
	
	PageIterator<PurchaseItem> findByDormitory(int start, int count, Dormitory dormitory, Date fromDate, Date toDate, Boolean processed, Boolean applied);
	
	PurchaseItem findById(Long id);
	
	PurchaseItem createPurchaseItem(PurchaseItem purchaseItemInfo) throws Exception;
	
	PurchaseItem updatePurchaseItem(PurchaseItem purchaseItemInfo) throws Exception;
	
	void deletePurchaseItemById(Long id) throws Exception;
	
	void deletePurchaseItems(List<Long> ids) throws Exception;
}
